#include "log.h"
#include <string.h>
#include <unistd.h>

//初始化日志（创建文件并写入启动信息）
void init_log(const char *log_file) {

    FILE *fp = fopen(log_file, "a");  // 追加模式
    if (fp == NULL) {
        fprintf(stderr, "init_log: 创建日志文件失败: %s\n", log_file);
        return;
    }
    // 记录启动时间
    time_t now = time(NULL);
    char time_str[64];
    strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", localtime(&now));
    fprintf(fp, "[%s] [INFO] 服务器日志初始化完成\n", time_str);
    fclose(fp);
}

//写入日志（带时间戳和级别）
void log_write(const char *log_file, const char *level, const char *message) {
    FILE *fp = fopen(log_file, "a");  // 追加模式
    if (fp == NULL) {
        perror("log_write: 打开日志文件失败");
        return;
    }
    // 获取当前时间
    time_t now = time(NULL);
    char time_str[64];
    strftime(time_str, sizeof(time_str), "%Y-%m-%d %H:%M:%S", localtime(&now));
    // 格式化日志内容：[时间] [级别] 消息
    fprintf(fp, "[%s] [%s] %s\n", time_str, level, message);
    fclose(fp);
}